From: Jyrki Gadinger Date: Wed, 5 Mar 2025 11:06:53 +0000 (+0100) Subject: display reshares in sharing dialog X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~12^2~1^2~16^2 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/success/%22http:/www.example.com/cgi/success?a=commitdiff_plain;h=f526c972ca0f7939931c0513b23e14e5c8cd134a;p=nextcloud-desktop.git display reshares in sharing dialog Signed-off-by: Jyrki Gadinger --- diff --git a/src/gui/filedetails/sharemodel.cpp b/src/gui/filedetails/sharemodel.cpp index c23ed0b05..8c55a7b8c 100644 --- a/src/gui/filedetails/sharemodel.cpp +++ b/src/gui/filedetails/sharemodel.cpp @@ -308,6 +308,7 @@ void ShareModel::updateData() _placeholderLinkShare.reset(new Share(_accountState->account(), placeholderLinkShareId, _accountState->account()->id(), + _accountState->account()->id(), _accountState->account()->davDisplayName(), _sharePath, Share::TypePlaceholderLink)); @@ -315,6 +316,7 @@ void ShareModel::updateData() _internalLinkShare.reset(new Share(_accountState->account(), internalLinkShareId, _accountState->account()->id(), + _accountState->account()->id(), _accountState->account()->davDisplayName(), _sharePath, Share::TypeInternalLink)); @@ -322,6 +324,7 @@ void ShareModel::updateData() _secureFileDropPlaceholderLinkShare.reset(new Share(_accountState->account(), secureFileDropPlaceholderLinkShareId, _accountState->account()->id(), + _accountState->account()->id(), _accountState->account()->davDisplayName(), _sharePath, Share::TypeSecureFileDropPlaceholderLink)); @@ -497,7 +500,7 @@ void ShareModel::slotSharesFetched(const QList &shares) for (const auto &share : shares) { if (share.isNull() || share->account().isNull() || - share->getUidOwner() != share->account()->davUser()) { + share->getUidFileOwner() != share->account()->davUser()) { continue; } diff --git a/src/gui/sharemanager.cpp b/src/gui/sharemanager.cpp index af9156916..74afc9b7c 100644 --- a/src/gui/sharemanager.cpp +++ b/src/gui/sharemanager.cpp @@ -54,7 +54,8 @@ static void updateFolder(const AccountPtr &account, QStringView path) Share::Share(AccountPtr account, const QString &id, - const QString &uidowner, + const QString &uidOwner, + const QString &uidFileOwner, const QString &ownerDisplayName, const QString &path, const ShareType shareType, @@ -63,7 +64,8 @@ Share::Share(AccountPtr account, const ShareePtr shareWith) : _account(account) , _id(id) - , _uidowner(uidowner) + , _uidOwner(uidOwner) + , _uidFileOwner(uidFileOwner) , _ownerDisplayName(ownerDisplayName) , _path(path) , _shareType(shareType) @@ -90,7 +92,12 @@ QString Share::getId() const QString Share::getUidOwner() const { - return _uidowner; + return _uidOwner; +} + +QString Share::getUidFileOwner() const +{ + return _uidFileOwner; } QString Share::getOwnerDisplayName() const @@ -195,7 +202,8 @@ QDate LinkShare::getExpireDate() const LinkShare::LinkShare(AccountPtr account, const QString &id, - const QString &uidowner, + const QString &uidOwner, + const QString &uidFileOwner, const QString &ownerDisplayName, const QString &path, const QString &name, @@ -207,7 +215,7 @@ LinkShare::LinkShare(AccountPtr account, const QString ¬e, const QString &label, const bool hideDownload) - : Share(account, id, uidowner, ownerDisplayName, path, Share::TypeLink, isPasswordSet, permissions) + : Share(account, id, uidOwner, uidFileOwner, ownerDisplayName, path, Share::TypeLink, isPasswordSet, permissions) , _name(name) , _token(token) , _note(note) @@ -334,7 +342,8 @@ void LinkShare::slotHideDownloadSet(const QJsonDocument &jsonDoc, const QVariant UserGroupShare::UserGroupShare(AccountPtr account, const QString &id, - const QString &owner, + const QString &uidOwner, + const QString &uidFileOwner, const QString &ownerDisplayName, const QString &path, const ShareType shareType, @@ -343,7 +352,7 @@ UserGroupShare::UserGroupShare(AccountPtr account, const ShareePtr shareWith, const QDate &expireDate, const QString ¬e) - : Share(account, id, owner, ownerDisplayName, path, shareType, isPasswordSet, permissions, shareWith) + : Share(account, id, uidOwner, uidFileOwner, ownerDisplayName, path, shareType, isPasswordSet, permissions, shareWith) , _note(note) , _expireDate(expireDate) { @@ -612,6 +621,7 @@ QSharedPointer ShareManager::parseUserGroupShare(const QJsonObje return QSharedPointer(new UserGroupShare(_account, data.value("id").toVariant().toString(), // "id" used to be an integer, support both data.value("uid_owner").toVariant().toString(), + data.value("uid_file_owner").toVariant().toString(), data.value("displayname_owner").toVariant().toString(), data.value("path").toString(), static_cast(data.value("share_type").toInt()), @@ -652,6 +662,7 @@ QSharedPointer ShareManager::parseLinkShare(const QJsonObject &data) return QSharedPointer(new LinkShare(_account, data.value("id").toVariant().toString(), // "id" used to be an integer, support both data.value("uid_owner").toString(), + data.value("uid_file_owner").toString(), data.value("displayname_owner").toString(), data.value("path").toString(), data.value("name").toString(), @@ -674,6 +685,7 @@ SharePtr ShareManager::parseShare(const QJsonObject &data) const return SharePtr(new Share(_account, data.value("id").toVariant().toString(), // "id" used to be an integer, support both data.value("uid_owner").toVariant().toString(), + data.value("uid_file_owner").toVariant().toString(), data.value("displayname_owner").toVariant().toString(), data.value("path").toString(), (Share::ShareType)data.value("share_type").toInt(), diff --git a/src/gui/sharemanager.h b/src/gui/sharemanager.h index 1cb51df46..e0888f7ba 100644 --- a/src/gui/sharemanager.h +++ b/src/gui/sharemanager.h @@ -74,7 +74,8 @@ public: */ explicit Share(AccountPtr account, const QString &id, - const QString &owner, + const QString &uidOwner, + const QString &uidFileOwner, const QString &ownerDisplayName, const QString &path, const ShareType shareType, @@ -99,6 +100,11 @@ public: */ [[nodiscard]] QString getUidOwner() const; + /* + * Get the uid_file_owner + */ + [[nodiscard]] QString getUidFileOwner() const; + /* * Get the owner display name */ @@ -165,7 +171,8 @@ public slots: protected: AccountPtr _account; QString _id; - QString _uidowner; + QString _uidOwner; + QString _uidFileOwner; QString _ownerDisplayName; QString _path; ShareType _shareType; @@ -207,7 +214,8 @@ class LinkShare : public Share public: explicit LinkShare(AccountPtr account, const QString &id, - const QString &uidowner, + const QString &uidOwner, + const QString &uidFileOwner, const QString &ownerDisplayName, const QString &path, const QString &name, @@ -338,7 +346,8 @@ class UserGroupShare : public Share public: UserGroupShare(AccountPtr account, const QString &id, - const QString &owner, + const QString &uidOwner, + const QString &uidFileOwner, const QString &ownerDisplayName, const QString &path, const ShareType shareType,